001    /*
002     * Created by IntelliJ IDEA.
003     * User: Wei Wang
004     * ACL Lab, School of Computer Science, Montreal, QC
005     * Date: 2002-8-27
006     * Time: 21:48:13
007     */
008    package EVolve.util.predefinedutils;
009    
010    import EVolve.exceptions.EVolveException;
011    import java.util.*;
012    
013    
014    public class PredefinedVisualization {
015    
016        private boolean translated;
017        private String name;
018        private String filename;
019        private ArrayList vizInfoList;
020        private int currentIndex;
021        private boolean specific;
022    
023    
024        public PredefinedVisualization(String configFile,String name) {
025            translated = false;
026            filename = configFile;
027            this.name = name;
028            currentIndex = -1;
029            specific = false;
030            vizInfoList = null;
031        }
032    
033        public String getName() {
034            return name;
035        }
036    
037        public void setName(String name) {
038            this.name = name;
039        }
040    
041        public String getFilename() {
042            return filename;
043        }
044    
045        public void setFilename(String filename) {
046            this.filename = filename;
047        }
048    
049        public boolean isTranslated() {
050            return translated & (!specific);
051        }
052    
053        public void setTranslated(boolean translated) {
054            this.translated = translated;
055        }
056    
057        public VizInfo getVizInfo(int index) {
058            return (VizInfo)vizInfoList.get(index);
059        }
060    
061        public void translateVizInfo() throws EVolveException{
062            currentIndex = -1;
063            SerializerInfo info = VisualizationSerializer.v().getVizInfoFromDisk(filename);
064            specific = info.specific;
065            vizInfoList = info.vizInfoList;
066            setTranslated(true);
067        }
068    
069        public boolean hasNext() {
070            if (currentIndex == vizInfoList.size() -1) return false;
071            return true;
072        }
073    
074        public VizInfo getNextVizInfo() {
075            return (VizInfo)vizInfoList.get(++currentIndex);
076        }
077    
078        public void reset() {
079            currentIndex = -1;
080        }
081    
082        public boolean isSpecific() {
083            return specific;
084        }
085    }